Software acting on behalf of a user is often referred to as a user agent. In many cases, a user agent acts as a client in a network protocol used in communications within a client-server distributed computing system. Examples include email applications and web browsing applications. When a software agent operates in a network protocol, it often identifies itself, its application type, operating system, software vendor, or software revision, by submitting a characteristic identification string to its operating peer. In Hypertext Transfer Protocol (HTTP) and with web browsers in particular, this identification is transmitted in a user-agent header field. In such cases, the user-agent string communicated in the user-agent header field identifies the client software originating requests made to the server.